<?php

/**
 * Description of Db_Persoonsgegevens
 * @author XPS-15
 */
require_once FILE_DB_DATABASE;
require_once FILE_DB_CONTROLE;

class DbPersoonsgegevens extends Database {

    private $leiding = '';
    private $registratienummer = '';
    private $gebruiker_id = '';
    private $naam = '';
    private $achternaam = '';
    private $functie = '';
    private $email = '';
    private $land = '';
    private $stad = '';
    private $straat = '';
    private $tel_landlijn = '';
    private $tel_mobiel = '';

    //Construct
    public function __construct($registratienummer = '') {
        if (DEBUG_LVL & DEBUG_LVL_CLASS) //echo __FILE__ . __LINE__ .': ' . __CLASS__ .'<BR/>';
            parent::__construct();

        if (!empty($registratienummer)) {
            $this->DbPersoonsgegevensData($registratienummer);
        } else {
            $this->reset();
        }
    }

    /**
     * This function saves a new Persoon 
     */
    public function save($registratienummer, /*$gebruiker_id, */ $naam, $achternaam, $functie, $email, $land, $stad, $straat, $tel_landlijn, $tel_mobiel, $leiding) {
        if (
                !empty($registratienummer) &&
                /*!empty($gebruiker_id) &&*/
                !empty($functie) &&
                !empty($leiding)
        ) {
            // als de code niet goed is zet dan deze '" . mysql_real_escape_string($gebruiker_id) . "', tussen registratienummer en naam terug.   `gebruikers_id`, 
            $query = "INSERT INTO `persoon`(`registratienummer`, `naam`, `achternaam`, `functie`, `email`, `land`, `stad`, `straat`, 
                                                     `tel_landlijn`, `tel_mobiel`, `leidinggevende`, `actief`)
                        VALUES (
                            '" . mysql_real_escape_string($registratienummer) . "',
                            
                            '" . mysql_real_escape_string($naam) . "',
                            '" . mysql_real_escape_string($achternaam) . "',
                            '" . mysql_real_escape_string($functie) . "',
                            '" . mysql_real_escape_string($email) . "',
                            '" . mysql_real_escape_string($land) . "',
                            '" . mysql_real_escape_string($stad) . "',
                            '" . mysql_real_escape_string($straat) . "',
                            '" . mysql_real_escape_string($tel_landlijn) . "',
                            '" . mysql_real_escape_string($tel_mobiel) . "',
                            '" . mysql_real_escape_string($leiding) . "',
                            '" . mysql_real_escape_string('1') . "'
                            )";

            if (DEBUG_LVL & DEBUG_LVL_QUERY)
                echo __FILE__ . ' ' . __LINE__ . ': ' . $query . '<br />';

            if (!$this->dbquery($query)) {
                throw new Exception(DB_ERROR_NIETVERWERKT);
            }

            // Update Class Attributes
            $this->registratienummer = $registratienummer;
           // $this->gebruiker_id = $gebruiker_id;
            $this->naam = $naam;
            $this->achternaam = $achternaam;
            $this->functie = $functie;
            $this->land = $land;
            $this->stad = $stad;
            $this->straat = $straat;
            $this->tel_landlijn = $tel_landlijn;
            $this->tel_mobiel = $tel_mobiel;
            $this->leiding = $leiding;

            return TRUE;
        } else {
            throw new Exception(DB_ERROR_INVOERFOUT);
        }
    }

    /**
     * This function updates the personal data
     */
    public function update($gebruikers_id, $registratienummer, $naam, $achternaam, $functie, $email, $land, $stad, $straat, $tel_landlijn, $tel_mobiel, $leiding) {
//              
        if (!empty($gebruikers_id) &&
                !empty($functie)) {

            $query = "UPDATE persoon
                        SET registratienummer =     '" . mysql_real_escape_string($registratienummer) . "',
                            naam =                  '" . mysql_real_escape_string($naam) . "', 
                            achternaam =            '" . mysql_real_escape_string($achternaam) . "',
                            functie =               '" . mysql_real_escape_string($functie) . "', 
                            email =                 '" . mysql_real_escape_string($email) . "', 
                            cluster =               '" . mysql_real_escape_string($cluster) . "',
                            land =                  '" . mysql_real_escape_string($land) . "',
                            stad =                  '" . mysql_real_escape_string($stad) . "',
                            straat =                '" . mysql_real_escape_string($straat) . "',
                            tel_landlijn =          '" . mysql_real_escape_string($tel_landlijn) . "',
                            tel_mobiel =            '" . mysql_real_escape_string($tel_mobiel) . "',
                            leidinggevende  =       '" . mysql_real_escape_string($leiding) . "'
                                
                        WHERE persoon . gebruikers_id ='" . mysql_real_escape_string($gebruikers_id) . "'";

            if (DEBUG_LVL & DEBUG_LVL_QUERY)
                echo __FILE__ . ' ' . __LINE__ . ': ' . $query . '<br />';

            if (!$this->dbquery($query)) {
                throw new Exception(DB_ERROR_NIETVERWERKT);
            }

            return TRUE;

            return TRUE;
        } else {
            throw new Exception(DB_ERROR_INVOERFOUT);
        }
    }

    public function selectBACKUP($registratienummer) {

        $query = "SELECT * FROM persoon WHERE persoon . registratienummer = '" . mysql_real_escape_string($registratienummer) . "'  LIMIT 1 ";


        if (!$this->dbquery($query)) {
            throw new Exception(DB_ERROR_COULDNOTSELECT);
        }

        if (DEBUG_LVL & DEBUG_LVL_QUERY)
            echo __FILE__ . ' ' . __LINE__ . ': ' . $query . '<br />';

        $this->reset();
    }

    public function selectOverzicht() {

        if ($this->dbquery("SELECT * FROM `persoon` WHERE actief=1  LIMIT 0, 100 ")) {
            // Controle of er iets gevonden is in de database
            if ($this->dbNumRows() >= 1) {

                return $this->dbFetchAll();
            } else {
                return false;
            }

        } else {
            throw new Exception(DB_ERROR_COULDNOTSELECT);
        }

        if (DEBUG_LVL & DEBUG_LVL_QUERY)
            echo __FILE__ . ' ' . __LINE__ . ': ' . $query . '<br />';

        $this->reset();
    }

    public function selectOne($gebruikersid) {
                
        if ($this->dbquery("SELECT * FROM `persoon` WHERE `gebruikers_id` = '" . mysql_real_escape_string($gebruikersid) . "'")) {

            // Controle of er iets gevonden is in de database
            if ($this->dbNumRows() == 1) {
                
                return $this->dbFetchAll();

            } else {
                return FALSE;
            }
        } else {
            throw new Exception(DB_ERROR_COULDNOTSELECT);
        }

        if (DEBUG_LVL & DEBUG_LVL_QUERY)
            echo __FILE__ . ' ' . __LINE__ . ': ' . $query . '<br />';

        $this->reset();
    }
   public function DbPersoonsgegevensData() {

        if ($this->dbquery("SELECT persoon.registratienummer, persoon.naam, persoon.functie, persoon.achternaam, persoon.email, persoon.land, persoon.stad, persoon.straat, persoon.tel_landlijn, persoon.tel_mobiel, persoon.leidinggevende FROM persoon  WHERE persoon.registratienummer = '" . mysql_real_escape_string($_GET['id']) . "' LIMIT 1 ")) {
            if ($this->dbNumRows() >= 1) {
                return $this->dbFetchAll();
            } else {
                $this->reset();
                return FALSE;
            }
        } 
   }
    /**
     * Deze functie zet een gebruiker op non-actief. (daadwerkelijk deleten is niet mogelijk ivm de statistiek)
     */
    public function delete($registratienummer) {

        $query = "UPDATE persoon SET actief = 0 WHERE registratienummer=" . mysql_real_escape_string($registratienummer);
        
        if (!$this->dbquery($query)) {
            throw new Exception(DB_ERROR_COULDNOTDELETE);
        }

        if (DEBUG_LVL & DEBUG_LVL_QUERY)
            echo __FILE__ . ' ' . __LINE__ . ': ' . $query . '<br />';

        $this->reset();
    }

    public function returnOverzicht() {
        return $this->selectOverzicht();
    }

    public function getNaam() {
        return $this->naam;
    }

    private function reset() {
        $this->naam = '';
    }

    public function __destruct() {
        parent::__destruct();
    }

}

?>
